************Veteran Crime Incarceration Rate-A1 case bounds***************
program define predraft_081216, eclass

marksample touse

set more off
qui {
****Total observation of the sample 
count 
sca n_sample=r(N) 
sca li n_sample

***The bounded support for the outcome
sca yu=1
sca li yu 
sca yl=0
sca li yl

****The total number of inmates in each year in scaler
**Year 1979
sum svy_male_inmate if study==1979 
sca svy_male_inmate79=r(mean)
sca list svy_male_inmate79 

**Year 1986
sum svy_male_inmate if study==1986
sca svy_male_inmate86=r(mean)
sca list svy_male_inmate86 

**Year 1991: State
sum svy_male_inmate if study==1991
sca svy_male_inmate91_state=r(mean)
sca list svy_male_inmate91_state 

**Year 1991: Federal
sum svy_male_inmate if study==19912
sca svy_male_inmate91_fed=r(mean)
sca list svy_male_inmate91_fed 

**Aggregate population 
sca svy_male_inmate_all=svy_male_inmate79+svy_male_inmate86+svy_male_inmate91_state+svy_male_inmate91_fed
sca list svy_male_inmate_all

*Count how many distinct birth months are there 
	distinct monthYear_group if birth_cohort==1 
	local total_my=r(ndistinct) 
	
	*Generate new variable numering the birth month year group in the subsample
	tempvar new_my
	egen `new_my'=group(monthYear_group) if birth_cohort==1
	tab `new_my'
	
	**Scaler the population of the birth group 

    preserve 
  
    keep if Census>=2
  
	*The variable wn_birth is for the construction of incarceration rate for each birth month by eligibility status 
	tempvar wn_birth 
	egen `wn_birth'=total(birth), by(eligible birthMonth birthYear)
	tab `wn_birth'
	
	*The variable weight_birth is for the denominator of the weighting of all the bounds for each birth month cohort 
	tempvar sum_birth 
	egen `sum_birth'=total(birth) if birth_cohort==1
	tab `sum_birth' 
	
	sum `sum_birth' if birth_cohort==1
	sca total_birth=r(mean) 
    sca li total_birth  
	
	
**Implementing Between Estimator for LNATE (Between variable: birth month by year)** ; 
forvalues x=1(1)`total_my' {

/* Compute Incarcertated Proportions for Each Strata */

	sum `wn_birth' if birth_cohort==1 & eligible==1 & `new_my'==`x'
    sca nz1_`x'=r(mean) 
    sca li nz1_`x' 

    sum `wn_birth' if birth_cohort==1 & eligible==0 & `new_my'==`x'
    sca nz0_`x'=r(mean) 
    sca li nz0_`x' 
	
	sca nz10_`x'=nz1_`x'+nz0_`x'
	
	
	}
  restore 

  *Count how many distinct birth months are there 
	distinct monthYear_group if cohort_sample==1 
	local total_my=r(ndistinct) 
  *Generate new variable numering the birth month year group in the subsample
	tempvar new_my
	egen `new_my'=group(monthYear_group) if birth_cohort==1
	tab `new_my'
  
  
  forvalues x=1(1)`total_my' { 
  
  **Total incarceration rate E[Y] in the population 
  gen cond=1 if `new_my'==`x' & Y==1 & Census==0
  replace cond=0 if cond==. & Census==0
  
  *Year 1979:  
  sum cond if study==1979 [w=W]
  sca n_79=(r(mean)*svy_male_inmate79)/(nz1_`x'+nz0_`x') 
  sca list n_79

  *Year 1986:  
  sum cond if study==1986 [w=W]
  sca n_86=(r(mean)*svy_male_inmate86)/(nz1_`x'+nz0_`x') 
  sca list n_86

  *Year 1991 State:  
  sum cond if study==1991 [w=W]
  sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz1_`x'+nz0_`x') 
  sca list n_91_state

  *Year 1991 Federal 
  sum cond if study==19912 [w=W]
  sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz1_`x'+nz0_`x') 
  sca list n_91_fed

  *Combine 1991 State and Federal 
  sca n_91=n_91_state+n_91_fed
  sca list n_91

  *Average incarceration rate in the 3 years (Weighted by Total Inmate Population)
  sca e_pop_`x'= (n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
  n_91_state*svy_male_inmate91_state+n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
  sca list e_pop_`x'	   

  sca drop n_79 n_86 n_91 n_91_state n_91_fed
  drop cond
  
**E[Y|Z=1,T=0]
*Let cond stands for condition
gen cond=1 if T==0 & Z==1 & `new_my'==`x' & Y==1 & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca a79=r(mean)*svy_male_inmate79
sca list a79
sca n_79=(r(mean)*svy_male_inmate79)/(nz1_`x'*Cnt) 
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca a86=r(mean)*svy_male_inmate86
sca list a86
sca n_86=(r(mean)*svy_male_inmate86)/(nz1_`x'*Cnt) 
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca a91=r(mean)*svy_male_inmate91_state
sca list a91
sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz1_`x'*Cnt)
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca a911=r(mean)*svy_male_inmate91_fed
sca list a911
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz1_`x'*Cnt) 
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average it out
sca ey10_`x'= (n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list ey10_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed

drop cond 
 
**E[Y|Z=0,T=1]
*Let cond stands for condition
gen cond=1 if T==1 & Z==0 & `new_my'==`x' & Y==1 & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/(nz0_`x'*Cat) 
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/(nz0_`x'*Cat) 
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz0_`x'*Cat)
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz0_`x'*Cat) 
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca ey01_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list ey01_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 

**E[Y|T=0,Z=0]
*Let cond stands for condition
gen cond=1 if T==0 & Z==0 & `new_my'==`x' & Y==1 & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/(nz0_`x'*(Cnt+Cc)) 
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/(nz0_`x'*(Cnt+Cc)) 
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz0_`x'*(Cnt+Cc))
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz0_`x'*(Cnt+Cc))
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca ey00_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list ey00_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 

**E[Y|Z=1,T=1]
*Let cond stands for condition
gen cond=1 if T==1 & Z==1 & `new_my'==`x' & Y==1 & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/(nz1_`x'*(Cat+Cc)) 
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/(nz1_`x'*(Cat+Cc))  
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz1_`x'*(Cat+Cc)) 
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz1_`x'*(Cat+Cc)) 
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca ey11_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list ey11_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 

*E[Y|c]
sca ey_c_`x'=(e_pop_`x'-Cnt*ey10_`x'-Cat*ey01_`x')/Cc
sca li ey_c_`x'

**E[Y|T=1]
*Let cond stands for condition
gen cond=1 if T==1 & Y==1 & `new_my'==`x' & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/((nz0_`x'+nz1_`x')*PrT1)
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/((nz0_`x'+nz1_`x')*PrT1) 
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/((nz0_`x'+nz1_`x')*PrT1) 
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/((nz0_`x'+nz1_`x')*PrT1)
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca eyt1_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list eyt1_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 

**E[Y|T=0]
*Let cond stands for condition
gen cond=1 if T==0 & Y==1 & `new_my'==`x' & Census==0
replace cond=0 if cond==.  & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/((nz0_`x'+nz1_`x')*PrT0)
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/((nz0_`x'+nz1_`x')*PrT0)
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/((nz0_`x'+nz1_`x')*PrT0)
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/((nz0_`x'+nz1_`x')*PrT0)
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca eyt0_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list eyt0_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 

**E[Y|Z=0]
*Let cond stands for condition
gen cond=1 if Z==0 & Y==1 & `new_my'==`x' & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/nz0_`x'
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/nz0_`x'
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/nz0_`x'
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/nz0_`x'
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca eyz0_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list eyz0_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 

**E[Y|Z=1]
*Let cond stands for condition
gen cond=1 if Z==1 & Y==1 & `new_my'==`x' & Census==0
replace cond=0 if cond==.  & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/nz1_`x'
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/nz1_`x'
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/nz1_`x'
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/nz1_`x'
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average out
sca eyz1_`x'=(n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list eyz1_`x'

sca drop n_79 n_86 n_91 n_91_state n_91_fed
drop cond 


**Some other estimands
*E[Y^Z(1)|nt]
sca eynt1_`x'=ey10_`x'
sca list eynt1_`x'

*E[Y^Z(0)|at]
sca eyat0_`x'=ey01_`x'
sca list eyat0_`x'

*P1: Lower bound for E[Y^Z(0)|nt] 
sca l0nt1_`x'=0

**P1: Upper bound for E[Y^Z(0)|nt] 
*Let cond stands for condition
gen cond=1 if T==0 & Z==0 & `new_my'==`x' & Y==1 & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/(nz0_`x'*Cnt) 
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/(nz0_`x'*Cnt) 
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz0_`x'*Cnt)
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz0_`x'*Cnt) 
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average it out
sca u0nt1_`x'= (n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list u0nt1_`x'	

sca drop n_79 n_86 n_91 n_91_state n_91_fed

drop cond 

**P1: Lower bound for E[Y^Z(1)|at]
sca l1at1_`x'=0

*P1: Upper bound for E[Y^Z(1)|at] 
*Let cond stands for condition
gen cond=1 if T==1 & Z==1 & `new_my'==`x' & Y==1 & Census==0
replace cond=0 if cond==. & Census==0

*Year 1979:  
sum cond if study==1979 [w=W]
sca n_79=(r(mean)*svy_male_inmate79)/(nz1_`x'*Cat) 
sca list n_79

*Year 1986:  
sum cond if study==1986 [w=W]
sca n_86=(r(mean)*svy_male_inmate86)/(nz1_`x'*Cat) 
sca list n_86

*Year 1991 State:  
sum cond if study==1991 [w=W]
sca n_91_state=(r(mean)*svy_male_inmate91_state)/(nz1_`x'*Cat)
sca list n_91_state

*Year 1991 Federal 
sum cond if study==19912 [w=W]
sca n_91_fed=(r(mean)*svy_male_inmate91_fed)/(nz1_`x'*Cat) 
sca list n_91_fed

*Combine 1991 State and Federal 
sca n_91=n_91_state+n_91_fed
sca list n_91

*Average it out
sca u1at1_`x'= (n_79*svy_male_inmate79 + n_86*svy_male_inmate86 + ///
n_91_state*svy_male_inmate91_state + n_91_fed*svy_male_inmate91_fed)/svy_male_inmate_all
sca list u1at1_`x'	

sca drop n_79 n_86 n_91 n_91_state n_91_fed

drop cond 


}


	  *Create a global text variable for all the bounds scaler names 
	  # delimit ;
	  global estimates="e_pop ey10 ey01 ey00 ey11 ey_c eyt1 eyt0 eyz0 eyz1 eynt1
	                    eyat0 l0nt1 u0nt1 l1at1 u1at1" ; 
	  
	  distinct monthYear_group if cohort_sample==1;  
	  local total_my=r(ndistinct) ; 
	  
	  foreach names_zero in $estimates {; 
	  di "`names_zero'"; 
	  sca `names_zero'=0; 
	  sca li `names_zero'; 
	  }; 
	  
	  forvalues x=1(1)`total_my'{; 
	    foreach names_zero in $estimates {; 
	    di "`names_zero'"; 
	    sca li `names_zero'_`x'; 
	    sca li nz10_`x'; 
		sca li total_birth; 
		
		sca `names_zero'=`names_zero'+`names_zero'_`x'*(nz10_`x'/total_birth ); 
		sca li `names_zero'; 
	               }; 
		 }; 
# delimit cr
*ey10_e_pop
sca ey10_e_pop=ey10-e_pop 
sca li ey10_e_pop 

*ey10_eyz1 
sca ey10_eyz1=ey10-eyz1 
sca li ey10_eyz1 

*ey01_e_pop 
sca ey01_e_pop=ey01-e_pop 
sca li ey01_e_pop

*ey01_eyz0 
sca ey01_eyz0=ey01-eyz0 
sca li ey01_eyz0 

*ey11_e_pop 
sca ey11_e_pop=ey11-e_pop 
sca li ey11_e_pop 

*ey11_eyz1 
sca ey11_eyz1=ey11-eyz1
sca li ey11_eyz1  

*ey00_e_pop 
sca ey00_e_pop=ey00-e_pop 
sca li ey00_e_pop  

*ey00_eyz0
sca ey00_eyz0=ey00-eyz0
sca li ey00_eyz0  

*U0nt_e_pop
sca  U0nt_e_pop=u0nt1-e_pop 
sca li U0nt_e_pop

*U0nt_ey01
sca  U0nt_ey01=u0nt1-ey01 
sca li U0nt_ey01

*U1at_e_pop
sca  U1at_e_pop=u1at1-e_pop 
sca li U1at_e_pop

*U1at_eyz1
sca  U1at_eyz1=u1at1-eyz1 
sca li U1at_eyz1

*ey10_ey11
sca  ey10_ey11=ey10-ey11 
sca li ey10_ey11

*ey10_ey01
sca  ey10_ey01=ey10-ey01 
sca li ey10_ey01

*ey10_ey00
sca  ey10_ey00=ey10-ey00 
sca li ey10_ey00

*ey01_ey11
sca  ey01_ey11=ey01-ey11 
sca li ey01_ey11

*ey01_ey00
sca  ey01_ey00=ey01-ey00 
sca li ey01_ey00

*ey00_ey11
sca  ey00_ey11=ey00-ey11 
sca li ey00_ey11

*ey10_eyc
sca  ey10_ey_c=ey10-ey_c 
sca li ey10_ey_c

*ey01_eyc
sca  ey01_ey_c=ey01-ey_c 
sca li ey01_ey_c

matrix predraft_mean=(Cc, Cat, Cnt, p10, p01, p11, p00, PrT1, PrT0, PrZ1, /// 
           PrZ0, n_sample, yu, yl, svy_male_inmate79, svy_male_inmate86, /// 
		   svy_male_inmate91_state, svy_male_inmate91_fed, svy_male_inmate_all, ///
           e_pop, ey10, ey01, ey00, ey11, ey_c, eyt1, eyt0, eyz0, eyz1, /// 
           eynt1, eyat0, l0nt1, u0nt1, l1at1, u1at1, ey10_e_pop, ey10_eyz1, ey01_e_pop, ey01_eyz0, /// 
		   ey11_e_pop, ey11_eyz1, ey00_e_pop, ey00_eyz0, U0nt_e_pop, /// 
		   U0nt_ey01, U1at_e_pop, U1at_eyz1,  ey10_ey11, ey10_ey01, /// 
           ey10_ey00, ey01_ey11, ey01_ey00, ey00_ey11, ey10_ey_c, /// 
		   ey01_ey_c) 
		  
matrix colnames predraft_mean = Cc, Cat, Cnt, p10, p01, p11, p00, PrT1, PrT0, PrZ1, /// 
           PrZ0, n_sample, yu, yl, svy_male_inmate79, svy_male_inmate86, /// 
		   svy_male_inmate91_state, svy_male_inmate91_fed, svy_male_inmate_all, ///
		   e_pop, ey10, ey01, ey00, ey11, ey_c, eyt1, eyt0, eyz0, eyz1, /// 
           eynt1, eyat0, l0nt1, u0nt1, l1at1, u1at1, ey10_e_pop, ey10_eyz1, ey01_e_pop, ey01_eyz0, /// 
		   ey11_e_pop, ey11_eyz1, ey00_e_pop, ey00_eyz0, U0nt_e_pop, /// 
		   U0nt_ey01, U1at_e_pop, U1at_eyz1,  ey10_ey11, ey10_ey01, /// 
           ey10_ey00, ey01_ey11, ey01_ey00, ey00_ey11, ey10_ey_c, /// 
		   ey01_ey_c
   }        
mat li predraft_mean
		   
ereturn clear
ereturn post predraft_mean, esample (`touse') properties ("b")
ereturn local cmd "predraft_081216"

end
